--[[
	uri路由处理器
	--TODO router处理通配符，减少配置
]]


local string_utils = require("mvc.utils.string_utils");

--[[
	路由配置模块变量，默认就这个名称了
]]
local route_handler = {
	router = nil
};


--[[
	初始化配置
	@package_path router配置文件包路径
]]
function route_handler:_init(package_path)
	--ngx.say(package_path);
	self.router = require(package_path);
	--ngx.say("self.router", self.router);
end

--[[
	通过配置文件包路径实例化路由配置处理器
]]
function route_handler:new(package_path)
	local o = {};
	setmetatable(o, self);
	self.__index = self;
	self:_init(package_path);
	return o;
end


--[[
	@uri 根据uri获取router
]]
function route_handler:get_router(uri)
	local o = {};
	--ngx.say("route_handler.self.router", self.router);
	for cofing_item in pairs(self.router) do
	--ngx.say(cofing_item)
		if (string_utils.starts_with(uri, self.router[cofing_item].namespace)) then
			o = self.router[cofing_item];
			return o;
		end
	end
	return nil;
end


return route_handler;

